Traditional scheduling systems rely on table driven rules or a rules processor to determine the optimal scheduling slot for a healthcare procedure, by matching a patient to resources and a time allotted to perform that procedure. There a number of issues associated with scheduling techniques that rely substantially on rules processors and table driven rules.
For instance, inflexible rules require constant tweaking to maximize resource and people utilization. As such, resources (including people's time) are wasted, thereby resulting in expensive healthcare services. In addition, conventional scheduling techniques require a manual process, where statistical reports are reviewed against usage of resources and people. Such statistical review is after the patient procedure is completed, with manual tweaking of the rules processor to correct for inefficient usage of resources and staff.
Also, typical scheduling systems utilize hard-coded time increments for procedures that can result in the over-booking of resources, which is frustrating for both staff and patients. On the other hand, hard-coded time increments for procedures can also under-book resources, which under-utilize staff and equipment, thereby causing poor return on investment (ROI) for the healthcare provider and unnecessary waiting for emergency or walk-in procedures.
Furthermore, a rules processor typically tracks a limited set of attributes to determine the best usage of resources to patient condition/procedure. The problem here is that rules processors are only as accurate as the rules and information to which they are programmed to respond. Also, a rules processor language may need to be re-compiled and the underlying table driven rules software must be changed, to accommodate changing parameters that drive scheduling engine.
What is needed, therefore, are scheduling techniques that are relatively more flexible and require less user intervention than conventional techniques.